Predicate Abstraction for Program Verification

نویسندگان

  • Ranjit Jhala
  • Andreas Podelski
  • Andrey Rybalchenko
چکیده

We present basic principles of algorithms for the verification of safety and termination of programs. The algorithms call procedures on logical formulas in order to construct an abstraction and to refine an abstraction. The two underlying concepts are predicate abstraction and counterexampleguided abstraction refinement. UC San Diego · University of Freiburg · Microsoft Research Cambridge · Technische Universität München

برای دانلود رایگان متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Predicate Abstraction in a Program Logic Calculus

Predicate abstraction is a form of abstract interpretation where the abstract domain is constructed from a finite set of predicates over the variables of the program. This paper explores a way to integrate predicate abstraction into a calculus for deductive program verification based on symbolic execution, where it allows us to infer loop invariants automatically that would otherwise have to be...

متن کامل

Localization and Register Sharing for Predicate Abstraction

In the domain of software verification, predicate abstraction has emerged to be a powerful and popular technique for extracting finite-state models from often complex source code. In this paper, we report on the application of three techniques for improving the performance of the predicate abstraction refinement loop. The first technique allows faster computation of the abstraction. Instead of ...

متن کامل

Predicate Abstraction in Program Verification: Survey and Current Trends

A popular approach to verification of software system correctness is model checking. To achieve scalability needed for large systems, model checking has to be augmented with abstraction. In this paper, we provide an overview of selected techniques of program verification based on predicate abstraction. We focus on techniques that advanced the state-of-the-art in a significant way, including cou...

متن کامل

Model Checking Software via Abstraction of Loop Transitions

This paper reports a data abstraction algorithm that is targeted to minimize the contribution of the loop executions to the program state space. The loop abstraction is defined as the syntactic program transformation that results in the sound representation of the concrete program. The abstraction algorithm is defined and implemented in the context of the integrated software design, testing and...

متن کامل

Predicate Abstraction with Block Abstraction Memoization ∗ ( Technical Report )

Predicate abstraction is an established technique for reducing the size of the state space during verification. In this paper, we extend predication abstraction with block abstraction memoization (ABM), which exploits the fact that blocks are often executed several times in a program. The verification can thus benefit from caching the values of previous block analysis’ and reusing them upon nex...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 2014